package org.jiuling.aliyun.sms.model.enums;

/**
 * 发送状态枚举
 * @author 紫灵
 * @date 2023年02月10日 14时08分42秒
 */
public enum SendStatusEnum {

    /** 等待 */
    WAIT(1L,"等待回执"),
    /** 失败 */
    FAIL(2L,"发送失败"),
    /** 成功 */
    SUCCEED(3L,"发送成功");

    /** 代码 */
    private final Long code;
    /** 信息 */
    private final String msg;

    SendStatusEnum(Long code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public Long getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }

    /**
     * 获取发送状态
     * @return 发送状态模型
     */
    public SendStatusModel getSendStatusModel(){
        return new SendStatusEnum.SendStatusModel(this);
    }

    /**
     * 发送状态
     */
    public static class SendStatusModel{
        /** 代码 */
        private final Long code;
        /** 信息 */
        private final String msg;

        public SendStatusModel(SendStatusEnum sendStatusEnum) {
            this.code = sendStatusEnum.getCode();
            this.msg = sendStatusEnum.getMsg();
        }

        public Long getCode() {
            return code;
        }

        public String getMsg() {
            return msg;
        }
    }
}
